package com.fsserver.common.constants;

/**
 * 支付相关常量定义
 * Payment Constants
 *
 * @author fsserver
 */
public class PaymentConstants {

    /**
     * 支付状态常量
     * Payment Status
     */
    public static class PaymentStatus {
        /**
         * 支付初始化
         * Payment initialized
         */
        public static final String INIT = "INIT";
        
        /**
         * 支付处理中
         * Payment processing
         */
        public static final String PROCESSING = "PROCESSING";
        
        /**
         * 支付成功
         * Payment success
         */
        public static final String SUCCESS = "SUCCESS";
        
        /**
         * 支付失败
         * Payment failed
         */
        public static final String FAILED = "FAILED";
        
        /**
         * 支付关闭
         * Payment closed
         */
        public static final String CLOSED = "CLOSED";
    }
    
    /**
     * 支付类型常量
     * Payment Type
     */
    public static class PaymentType {
        /**
         * 支付宝
         * Alipay
         */
        public static final String ALIPAY = "ALIPAY";
        
        /**
         * 微信支付
         * WeChat Pay
         */
        public static final String WECHAT = "WECHAT";
        
        /**
         * 信用卡
         * Credit Card
         */
        public static final String CREDIT_CARD = "CREDIT_CARD";
        
        /**
         * 银行转账
         * Bank Transfer
         */
        public static final String BANK_TRANSFER = "BANK_TRANSFER";
        
        /**
         * 其他支付方式
         * Other Payment Type
         */
        public static final String OTHER = "OTHER";
    }
    
    /**
     * 退款状态常量
     * Refund Status
     */
    public static class RefundStatus {
        /**
         * 退款初始化
         * Refund initialized
         */
        public static final String INIT = "INIT";
        
        /**
         * 退款处理中
         * Refund processing
         */
        public static final String PROCESSING = "PROCESSING";
        
        /**
         * 退款成功
         * Refund success
         */
        public static final String SUCCESS = "SUCCESS";
        
        /**
         * 退款失败
         * Refund failed
         */
        public static final String FAILED = "FAILED";
    }
    
    /**
     * 对账状态常量
     * Reconciliation Status
     */
    public static class ReconciliationStatus {
        /**
         * 对账初始化
         * Reconciliation initialized
         */
        public static final String INIT = "INIT";
        
        /**
         * 对账处理中
         * Reconciliation processing
         */
        public static final String PROCESSING = "PROCESSING";
        
        /**
         * 对账成功
         * Reconciliation success
         */
        public static final String SUCCESS = "SUCCESS";
        
        /**
         * 对账失败
         * Reconciliation failed
         */
        public static final String FAILED = "FAILED";
        
        /**
         * 对账有差异
         * Reconciliation has difference
         */
        public static final String DIFFERENCE = "DIFFERENCE";
    }
    
    /**
     * 支付类型常量（直接访问）
     * Payment Type Constants (Direct Access)
     */
    public static final String PAYMENT_TYPE_ALIPAY = PaymentType.ALIPAY;
    public static final String PAYMENT_TYPE_WECHAT = PaymentType.WECHAT;
    public static final String PAYMENT_TYPE_CREDIT_CARD = PaymentType.CREDIT_CARD;
    public static final String PAYMENT_TYPE_BANK_TRANSFER = PaymentType.BANK_TRANSFER;
    public static final String PAYMENT_TYPE_OTHER = PaymentType.OTHER;
} 